var app = getApp();
Page({

    /**
     * 页面的初始数据
     */
    data: {
        actionSheetHidden: true,
        actionSheetItems: ['一年级', '二年级', '三年级', '自定义'],
        grade: '一年级',
        judge: 1 ,//判断用户现在是否有错题
        // wrong_data: '',  //数据库中用户错题集
        // wrong_questions: [],  //用户错题

    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    },

    actionSheetTap: function (e) {
        this.setData({
            actionSheetHidden: !this.data.actionSheetHidden
        })
    },

    actionSheetChange: function (e) {
        this.setData({
            actionSheetHidden: !this.data.actionSheetHidden
        })
    },

    bindItemTap: function (e) { //修改年级值以及让菜单自动收回
        this.setData({
            grade: e.target.dataset.name,
            actionSheetHidden: true
        })
    },

    begin: function (e) { //跳转到出题页面开始出题
        wx.setStorageSync('grade', this.data.grade); //将年级值存入缓存中
        wx.navigateTo({
            url: '../cal/cal',
            success: function (res) { },
            fail: function (res) { },
            complete: function (res) { },
        })
    },

    rework: async function (e) { //错题重做
        //从数据库取错题
        var questions = []
        await this.pull_data();
        questions = this.get_wrong_question() 
        // console.log('------');
        // console.log(questions);
        // console.log('------');
        // 判断是否有错题
        if (questions.length === 0) {
            //没有错题
            this.setData({
                judge: 2
            });
            var that = this;
            setTimeout(function () {
                that.setData({
                    judge: 1
                });
            }, 1000)
        } else {  //有错题
            // wx.setStorageSync('grade', this.data.grade); //将年级值存入缓存中
            app.globalData.wrong_questions = questions;
            wx.navigateTo({
                url: '../rework/rework',
                success: function (res) { },
                fail: function (res) { },
                complete: function (res) { },
            })
        }
    },

    pull_data: function() {
        return new Promise(resolve => {
            const db = wx.cloud.database();
            // 查询当前用户所有的 counters
            db.collection('history').where({
                _openid: this.data.openid
            }).get({
                success: res => {
                    this.setData({
                        wrong_data: res.data,
                    })
                    // console.log('[数据库] [查询记录] 成功: ', res.data);
                    return resolve();;
                },
                fail: err => {
                    wx.showToast({
                        icon: 'none',
                        title: '查询记录失败'
                    })
                    console.error('[数据库] [查询记录] 失败：', err);
                },
            })
        });
    },

    get_wrong_question: function () {
        var result = [];
        for (var i in this.data.wrong_data) {
            var temp = [String(this.data.wrong_data[i].formula), String(this.data.wrong_data[i].answer)];
            result.push(temp);
            // console.log(temp);
        }
        return result;
    },
})